/**
 * 初始化
 */
$(function() {

	$('#file').filestyle({
		'placeholder' : '请选择xlsx、xls格式文件',
		text : '选择文件'
	});

	$('input[type="radio"][name="approveStatus"]').iCheck({
		radioClass : 'iradio_square-green'
	});

	// 查询
	$('#btnQuery').on('click', function() {
		sys.reloadTable('pointImportTable');
	});

	// 清空
	$('#btnClear').on('click', function() {
		$("#pointSearchForm").find("#optType").val("");
		$("#pointSearchForm").find("#auditStatus").val("");
		$("#pointSearchForm").find("input[type='text']").val("");
	});

	/**
	 * 键盘点击事件，回车键，执行搜索
	 */
	$("input").bind('keypress', function(event) {
		if (event.keyCode == "13") {
			sys.reloadTable('pointImportTable');
		}
	});
	
	// 初始化列表
	initPointImportTable();

	// 客户等级下拉框
	sys.selectpicker({
		id : 'customerLevel',
		url : rootPath + '/customerLevel/listCustomerLevel',
		valueField : 'id',
		textField : 'levelName'
	});

	sys.selectpicker({
		id : 'operateType', // select的id
		url : rootPath + "/dict/listKeyMapEntites", // 请求数据的远程地址
		param : {
			keyType : 'pointUserOptType'
		}, // 过滤参数
		// defaultValue:{},
		valueField : 'keyValue',
		textField : 'keyIntro'
	});

	sys.selectpicker({
		id : 'auditStatus', // select的id
		url : rootPath + "/dict/listKeyMapEntites", // 请求数据的远程地址
		param : {
			keyType : 'approveStatus'
		}, // 过滤参数
		// defaultValue:{},
		defaultValue : 1,
		valueField : 'keyValue',
		textField : 'keyIntro'
	});

	// 初始化基本信息页省市区三级联动
	sys.threeLevelArea({
		provinceId : 'provinceCode',
		cityId : 'cityCode',
		areaId : 'areaCode'
	});

	// 初始化显示导入结果
	var msg = $("#pointImpMsg").html();
	if (msg.length > 1) {
		$("#pointImpModal").modal('show');
	}

	$(".selectpicker").css('width', '80%');
});

/**
 * 导出表单验证
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月1日 上午10:52:30
 */
function doExpCheck() {
	var operateType = $("#operateType").val();
	if (!operateType) {
		showErr('请务必选择操作类型');
		return false;
	}
	return true;
}

function initPointImportTable() {
	// 定义列
	var columns = [ {
		field : 'checkbox',
		checkbox : true,
		valign : 'middle',
		align : 'center'
	}, {
		field : 'no',
		title : '序号',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			var options = $("#pointImportTable").bootstrapTable("getOptions");
			return options.pageSize * (options.pageNumber - 1) + index + 1;
		}
	}, {
		field : 'id',
		title : 'ID',
		align : 'center',
		valign : 'middle',
		visible : false
	}, {
		field : 'customerId',
		title : '客户ID',
		align : 'center',
		valign : 'middle',
		visible : false
	}, {
		field : 'mobile',
		title : '客户号码',
		align : 'center',
		valign : 'middle'
	}, {
		field : 'customerName',
		title : '客户名称',
		align : 'center',
		valign : 'middle'
	}, {
		field : 'companyName',
		title : '客户单位',
		align : 'center',
		valign : 'middle'
	}, {
		field : 'operateType',
		title : '操作类型',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			return formatPointOperateType(value, row, index);
		}
	}, {
		field : 'operatePoint',
		title : '操作积分',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			var operateType = row.operateType;
			if (operateType == 3) {// 人工赠送
				return "<span class='label label-success'>+</span>" + value;
			} else if (operateType == 5) {// 人工核减
				return "<span class='label label-danger'>-</span>" + value;
			} else {
				return value;
			}
		}
	}, {
		field : 'adjustReason',
		title : '操作原因',
		align : 'left',
		valign : 'middle'
	}, {
		field : 'approveStatus',
		title : '审核状态',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			if (value == "1") {
				return "<span class='label label-warning'>待审核</span>";
			} else if (value == "2") {
				return "<span class='label label-success'>审核通过</span>";
			} else if (value == "3") {
				return "<span class='label label-danger'>审核驳回</span>";
			} else {
				return value;
			}
		}
	}, {
		field : 'approveRemark',
		title : '审核备注',
		align : 'left',
		valign : 'middle'
	}, {
		field : 'creater',
		title : '创建人',
		align : 'center',
		valign : 'middle'
	}, {
		field : 'createTime',
		title : '创建时间',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			return formatDateTime(value, row, index);
		}
	}, {
		field : 'modifier',
		title : '审核人',
		align : 'center',
		valign : 'middle'
	}, {
		field : 'modifyTime',
		title : '审核时间',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			return formatDateTime(value, row, index);
		}
	} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {

		var mobile = $("#mobile").val();
		var operateType = $("#optType").val();
		var auditStatus = $("#auditStatus").val();
		var customerName = $("#customerName").val();
		var companyName = $("#companyName").val();
		auditStatus = auditStatus ? auditStatus : 1;
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			mobile : mobile,
			operateType : operateType,
			customerName : customerName,
			companyName : companyName,
			approveStatus : auditStatus
		};
	};

	var url = rootPath + "/pointImport/listPointImportPage"; // 请求json数据的服务器地址
	sys.initTable('pointImportTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true,
		onLoadSuccess : function() {
			initBootstrapTableCheckbox();
		}
	});
}

/**
 * 打开编辑弹出层
 */
$("#btnDownUp").on('click', function() {
	$("#editModal").modal('show');
});
/**
 * 批量删除
 */
$("#btnDeleteBatch").on('click', function() {
	btnDeleteBatch();
});

/**
 * 打开审核弹出层
 */
$("#btnAuditBatch").on('click', function() {
	$("#auditModalLabel").html('批量审核');
	$("#psBatchDiv").show();
	$("#psAllDiv").hide();
	$("#approveRemark").val('');
	$("#isAll").val('0');
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择您需要审核的记录!');
		return false;
	}
	var rows = $("#pointImportTable").bootstrapTable("getData");
	for (var i = 0; i < choseRows.length; i++) {
		var index = choseRows[i].rowIndex - 1;
		var row = rows[index];
		if (row.approveStatus != 1) {
			showErr('您只能删除 待审核 的数据！');
			return;
		}
	}
	// 当前选中记录
//	var result = $("#pointImportTable").bootstrapTable("getAllSelections");
//	if (null == result || result.length == 0) {
//		showErr('请选择您需要审核的记录！');
//		return;
//	}
//	for (var i = 0; i < result.length; i++) {
//		if (result[i].approveStatus != 1) {
//			showErr('您只能删除 待审核 的数据！');
//			return;
//		}
//	}
	$("#auditModal").modal('show');
});

/**
 * 打开审核弹出层
 */
$("#btnAuditAll").on('click', function() {
	$("#auditModalLabel").html('全部审核');
	$("#psBatchDiv").hide();
	$("#psAllDiv").show();
	$("#approveRemark").val('');
	$("#isAll").val('1');
	$("#auditModal").modal('show');
});

/**
 * 审核提交
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月15日 下午2:58:25
 */
function doAudit() {
	// 审核结果
	var approveStatus = $("input[name='approveStatus']:checked").val();
	if (!approveStatus) {
		showErr('请选择审核结果！');
		return;
	}
	// 审核意见
	var approveRemark = $("#approveRemark").val();
	if (!approveRemark) {
		showErr('请输入审核意见！');
		return;
	}
	// 全部审核=1、批量审核=0
	var isAll = $("#isAll").val();
	var idArrStr = '';
	if (isAll == 0) {
		var choseRows = $("div.checked").closest("tr");
		if (choseRows.length == 0) {
			layer.alert('请选择您需要审核的记录!');
			return;
		}
		var rows = $("#pointImportTable").bootstrapTable("getData");
		for (var i = 0; i < choseRows.length; i++) {
			var index = choseRows[i].rowIndex - 1;
			var row = rows[index];
			if (row.approveStatus != 1) {
				showErr('您只能审核 待审核 的数据！');
				return;
			} else {
				idArrStr += row.id + ',';
			}
		}
	}
//	var idArrStr = '';
//	if (isAll == 0) {
//		// 批量删除需要拼接ID
//		var result = $("#pointImportTable").bootstrapTable("getAllSelections");
//		if (null == result || result.length == 0) {
//			showErr('请选择您需要审核的记录！');
//			return;
//		}
//		for (var i = 0; i < result.length; i++) {
//			idArrStr += result[i].id + ',';
//		}
//	}
	showConfirm("确认全部审核吗？", function() {
		$.ajax({
			url : rootPath + "/pointImport/doAudit",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				approveStatus : approveStatus,
				approveRemark : approveRemark,
				isAll : isAll,
				idArrStr : idArrStr
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						$("#auditModal").modal('hide');
						sys.reloadTable('pointImportTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}
/**
 * 批量删除
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月15日 下午4:22:55
 */
function btnDeleteBatch() {
//	var idArrStr = '';
//	// 批量删除需要拼接ID
//	var result = $("#pointImportTable").bootstrapTable("getAllSelections");
//	if (null == result || result.length == 0) {
//		showErr('请选择您需要删除的记录！');
//		return;
//	}
//	for (var i = 0; i < result.length; i++) {
//		if (result[i].approveStatus != 1) {
//			showErr('您只能删除 待审核 的数据！');
//			return;
//		}
//		idArrStr += result[i].id + ',';
//	}
	var idArrStr = '';
	var choseRows = $("div.checked").closest("tr");
	if (choseRows.length == 0) {
		layer.alert('请选择您需要删除的记录!');
		return;
	}
	var rows = $("#pointImportTable").bootstrapTable("getData");
	for (var i = 0; i < choseRows.length; i++) {
		var index = choseRows[i].rowIndex - 1;
		var row = rows[index];
		if (row.approveStatus != 1) {
			showErr('您只能删除 待审核 的数据！');
			return;
		} else {
			idArrStr += row.id + ',';
		}
	}
	
	showConfirm("积分调整信息删除后不可恢复，确定要删除吗？", function() {
		$.ajax({
			url : rootPath + "/pointImport/doDelPointImport",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				idArrStr : idArrStr
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						sys.reloadTable('pointImportTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}

/**
 * 删除活动
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月6日 上午1:31:21
 * @param id
 */
function doDelete() {
	showConfirm("积分调整信息删除后不可恢复，确定要删除吗？", function() {
		$.ajax({
			url : rootPath + "/pointImport/doDelPointImport",
			type : "post",
			async : true,
			dataType : 'json',
			data : {
				id : id
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						sys.reloadTable('pointImportTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}

/**
 * 修改
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月24日 下午5:50:05
 */
function doSavePointImport() {
	showConfirm("确认修改积分调整信息吗？", function() {
		var customerId = $("#customerId").val();
		var id = $("#id").val();
		var operatePoint = $("#operatePoint").val();
		var adjustReason = $("#adjustReason").val();

		if (!operatePoint) {
			showErr('请输入调整积分！', function() {
				$("#operatePoint").focus();
			});
			return;
		}
		// 大于 0 的数字校验
		var reg = /^([0-9][0-9]*(\.[0-9]{1,6})?|0\.(?!0+$)[0-9]{1,6})$/;
		if (!reg.test(operatePoint)) {
			showErr('调整积分输入不正确，请重新输入！', function() {
				$("#operatePoint").focus();
				$("#operatePoint").select();
			});
			return;
		}
		if (!adjustReason) {
			showErr('请输入积分调整原因！', function() {
				$("#adjustReason").focus();
			});
			return;
		}
		// 执行调整
		$.ajax({
			url : rootPath + "/pointImport/modifyPointImport",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				id : id,
				customerId : customerId,
				operatePoint : operatePoint,
				adjustReason : adjustReason
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						$("#pointImportModal").modal('hide');
						sys.reloadTable('pointImportTable');
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}

/**
 * 打开积分调整弹出层
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月24日 下午5:45:23
 * @param id
 * @param customerId
 * @param mobile
 * @param customerName
 * @param operateType
 * @param operatePoint
 * @param adjustReason
 */
function toModifyPointImport(id, customerId, mobile, customerName, operateType, operatePoint, adjustReason) {
	$("#operatePoint").val(operatePoint);
	$("#adjustReason").val(adjustReason);
	$("#pointImportModal").modal('show');
	$("#labelCustomerName").html(customerName);
	$("#labelMobile").html(mobile);
	var operateTypeName = formatPointOperateType(operateType, null, null);
	$("#labelOperateType").html(operateTypeName);

	$("#customerId").val(customerId);
	$("#id").val(id);
}
